The present invention relates generally to a communication system in a work vehicle for managing communications between control units that control various functions of the vehicle. More particularly, the invention relates to controlling the transmission and reception of messages between the control units on a work vehicle over a data bus wherein only a predefined number of messages are scheduled for transmission during a predefined time period and wherein received messages are sorted using lookup tables into a set of desired messages for storage.
Work vehicles including, but not limited to, agricultural work vehicles (e.g., tractors and combines) and construction work vehicles (e.g., dozers and loader-backhoes), perform certain functions based on the interaction of several control units which communicate with each other over a data bus. Each control unit may perform certain functions in conjunction with a particular device coupled to the control unit. For example, a transmission control unit connected to a work vehicle""s transmission can direct the transmission to downshift, upshift or maintain a constant gear ratio based upon inputs received from a gear shift lever operated by the vehicle operator, and also based upon data received from other control units via the data bus. The transmission control unit may also receive feedback signals from the transmission. Further, the transmission control unit may itself transmit data (e.g., status and fault data for the transmission) over the bus to other control units. Thus, the transmission control unit may be capable of both transmitting and receiving data via the data bus.
In a typical work vehicle having a data bus populated by multiple control units (e.g., an armrest control unit, the transmission control unit, etc.), each control unit may be required to transmit and receive messages over the same data bus. For example, to properly execute its respective control functions, each control unit on the bus may need to receive certain sensed or calculated input data from other control units at predefined update rates, and may also be required to transmit certain output data for use by the other control units, also at predefined update rates. Further, upon detection of certain events or conditions (e.g., upon detection of a malfunction such as a transmission fault or upon detection of a change in status such as the actuation of an operator input device), the control units may be required to provide a xe2x80x9cflagxe2x80x9d signal on the bus indicative of the event or condition for use by the other control units. Some of the xe2x80x9cflagxe2x80x9d signals, such as those indicating a change in an important system input or fault, may need to be transmitted over the bus to the other control units immediately.
As work vehicles become increasingly sophisticated, additional control units continue to be coupled to the data bus and incorporated into the communications system. With each additional control unit, the scheduling of messages on the data bus becomes more complex. In some cases, all of the messages cannot be transmitted as quickly as desired under all conditions without exceeding the bandwidth of the bus. For example, the operator of a work vehicle expects the vehicle to respond quickly to actuations of an operator input device (e.g., actuation of a four-wheel drive switch). Thus, when the input device is actuated, the change in status must be transmitted to the appropriate control unit relatively quickly to avoid a sluggish response. However, in some communications systems, the status of infrequently changing inputs such as operator input devices are transmitted at relatively slow periodic update rates (e.g., every 500 msec), such that the response time to a change in status is correspondingly slow. In other communications systems, the status of infrequently changing inputs such as switches is transmitted only when a transition is detected, and there is no scheduled periodic update. While not performing periodic updates of these inputs decreases loading on the bus and increases the bus bandwidth available for other signals, the communications system may miss signals due to failures or transients, thereby causing a loss of system functionality. In existing vehicle communications systems, thus, the system designer must often select an appropriate balance between vehicle responsiveness, bus loading, and the ability to gracefully handle transients.
Accordingly, it would be advantageous to have a communications system for a work vehicle that provides the ability to schedule a relatively slow update transmission rate for signals that do not normally require fast update rates, while also providing the ability to transmit these signals quickly upon a change in status or upon the occurrence of an event or condition. The slow update rates normally used would allow the system to confirm that the status of a signal has not changed since the last update (e.g., that the position of an operator input switch has not changed), while the expedited update rate would allow a change in status or occurrence of an event to be communicated quickly, thereby improving the responsiveness of the system. Thus, it would be advantageous to have a communications system including an xe2x80x9cexpeditingxe2x80x9d function which transmits the values of signals that change infrequently at relatively slow periodic update rates to allow status checking and to reduce the data bus usage associated with fast update rates, and transmits the values quickly upon a change in status or occurrence of a condition or event. It would also be advantageous if the system included a xe2x80x9crequest onlyxe2x80x9d function to transmit the values of certain signals only when the transmission is requested by another control unit on the data bus.
The communications system on vehicles must also insure that each control unit on the data bus can transmit its scheduled messages on the bus within a maximum delay time to avoid the use of stale data by the receiving control units. For example, a particular control unit may have messages that must be transmitted every 50, 100 or 500 msec. As the number of control units on the bus increases, however, it can become increasingly difficult for each control unit to meet its transmission update rate requirements. For example, the communications systems on some work vehicles include a data bus according to the Controller Area Network (CAN) protocol. The CAN protocol includes a message arbitration scheme to resolve conflicts which may occur when competing control units attempt to transmit messages on the CAN bus at the same time. The message arbitration scheme uses a 29-bit Arbitration Field in the ID portion of the message to specify the priority of that message. The message with a numerically lower Arbitration Field has a higher priority than a message with a higher Arbitration Field, and will win the arbitration. This arbitration scheme can cause problems in real-time control systems such as those used in work vehicles since it is difficult to guarantee a maximum time delay for any message other than the highest-priority message, and the problem worsens with increased bus loading. Accordingly, it would be advantageous to provide a communications system for a work vehicle including a CAN data bus populated by multiple control units wherein the maximum latency (i.e., delay time) for all messages transmitted over the CAN bus is guaranteed.
In addition to transmitting messages over the data bus to other control units, communications systems on work vehicles also need to manage the reception of messages transmitted over the data bus by other control units. Due to the high traffic on the data bus, each control unit of the communications system must be capable of quickly sorting all the incoming messages and of storing only the messages in which the control unit is interested (i.e., each control unit needs to listen to only a portion of the received messages). Incoming messages may be checked against a list maintained by each control unit which identifies those messages that the respective control unit wants to receive. This checking process, however, is relatively slow and inflexible given the high volume of desired and undesired messages being communicated on the bus. In some situations, other requirements make the checking process even slower. For example, if a control unit receives the same message from several of the other control units and needs to save each of these messages based on which control unit sent the message, the checking process becomes even more cumbersome since the list now needs to include additional data related to the source of the incoming messages. The increased complexity associated with providing the flexibility to sort and store each message separately based on which control unit transmitted the message may render the communications system unacceptably slow, and possibly even inoperable. Further, the increased memory required to store the same message received from several other control units in separate memory locations based upon which control unit sent the message may not always be available.
Accordingly, it would be advantageous to develop a communications system for a work vehicle wherein each control unit can quickly and efficiently sort incoming data bus messages while providing the versatility of being able to store identical messages received from different control units in either the same memory location or in separate memory locations associated with the sending control units.
The present invention relates to a communications system for a work vehicle. The communications system includes a data bus supported by the work vehicle for communicating messages along with multiple control units coupled to the data bus. Each control unit controls a function of the work vehicle and includes a processor for controlling communications with at least one other control unit on the data bus. The communications include transmitting first messages onto the data bus and receiving second messages from the data bus. The processor of each control unit schedules the transmission of only a predefined number of the first messages on the bus during a predefined time period. The predefined number is selected so that each control unit can transmit its scheduled messages within the predefined time period.
The present invention further relates to a communications system for a work vehicle. The communications system includes a data bus supported by the work vehicle for communicating messages and multiple control units coupled to the bus. Each control unit controls a function of the work vehicle, and includes a processor for controlling communications with at least one other control unit on the data bus. The communications include transmission of first messages onto the bus and reception of second messages from the bus. The second messages include undesired messages and a set of desired messages. The processor of each control unit also sorts the second messages in reference to a plurality of lookup tables to distinguish between the undesired messages and the set of desired messages, and saves each of the desired messages in a memory location defined to store the respective message.
The present invention further relates to a communications system for a work vehicle. The communications system includes a data bus supported by the work vehicle for communicating messages and multiple control units coupled to the bus. Each control unit controls a function of the work vehicle, and includes a processor for controlling communications with at least one other control unit on the data bus. The communications include transmission of first messages onto the bus and reception of second messages from the bus. The second messages include undesired messages and a set of desired messages. The processor of each control unit schedules the transmission of only a predefined number of the first messages on the data bus during a predefined time period. The predefined number is selected such that each control unit can transmit its scheduled messages within the predefined time period. The processor of each control unit also sorts the second messages in reference to a plurality of lookup tables to distinguish between the undesired messages and the set of desired messages, and saves each of the desired messages in a memory location defined to store the respective message.